﻿using System;
using System.Text;
using System.Drawing;
using System.Buffers;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public static partial class glDRIVE
{
    /*
    函数 gl.log1
    半对数数据相关
    void log1(int n, double x[], double y[], double t, double a[2], double dt[5])
    参数 n: 数据点数。
    参数 x: x[n],y[n]存放n个数据点。
    参数 y: 
    参数 t: 指数函数的底。要求t>0。
    参数 a: a[2]a[0]返回指数函数前的系数b;a[1]返回指数函数指数中的系数a。
    参数 dt: dt[5]dt[0]偏差平方和。
    dt[1]返回平均标准偏差。
    dt[2]返回最大偏差。
    dt[3]返回最小偏差。
    dt[4]返回偏差平均值。
    */

    public static string drive_log1()
    {
        int n;
        double t;
        double[] a = new double[2];
        double[] dt = new double[5];
        double[] x = new double[12] { 0.96, 0.94, 0.92, 0.90, 0.88, 0.86, 0.84, 0.82, 0.80, 0.78, 0.76, 0.74 };
        double[] y = new double[12] { 558.0, 313.0, 174.0, 97.0, 55.8, 31.3, 17.4, 9.70, 5.58, 3.13, 1.74, 1.00 };

        t = 10.0;
        n = 12;
        gl.log1(n, x, y, t, a, dt);

        return gl.html_table(
            "拟合系数:a,b,偏差平方和,平均标准偏差,最大偏差,最小偏差,偏差平均值",
            new double[] { a[1], a[0], dt[0], dt[1], dt[2], dt[3], dt[4] }
        );
    }
}